from netfilterqueue import NetfilterQueue

from flow_correctness import *

merger = Merger(2, 1)
flow_correctness_merger = FlowCorrectness(merger, 11110, 'Merger-2-1-F')

_pkt = b'E\x00\x00^\x00\x01\x00\x00@\x06G\x06\xac\x11\x00\x02$\x91b\xef\x1f@M\xf1\x00\x00\x00\x00\x00\x00\x00\x00P\x02 ' \
       b'\x00\xf8\x0f\x00\x00abcdefffffffffffffff\x00\x00\x00\x01\x00\x00\x00n\x00\x00+f\x00\x01\x00\x00\x00\x00P\xc9' \
       b'\x7f\x9d\xf1\xa2\xf4H\xf45\xad3\x9a\x83\xfe\xab '


def print_and_accept(pkt):
    # print(pkt)
    out_pkt = flow_correctness_merger.merge(_pkt)  # generate
    # pkt.set_payload(out_pkt[0])
    pkt.accept()


queue = NetfilterQueue()
queue.bind(1, print_and_accept, max_len=8192)
try:
    queue.run()
except KeyboardInterrupt:
    queue.unbind()
